{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "import (\n",
    "    \"fmt\"\n",
    "    \"reflect\"\n",
    "    \"encoding/json\"\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "nums := make([][]int, 5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "s := \"asldjfkashdghdsl\"\n",
    "for i,_ := range s {\n",
    "    sub_nums := make([]int, 0)\n",
    "    for i,_ := range s[:i] {\n",
    "        sub_nums = append(sub_nums, i)\n",
    "    }\n",
    "    nums = append(nums, sub_nums)\n",
    "}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[[] [] [] [] [] [] [0] [0 1] [0 1 2] [0 1 2 3] [0 1 2 3 4] [0 1 2 3 4 5] [0 1 2 3 4 5 6] [0 1 2 3 4 5 6 7] [0 1 2 3 4 5 6 7 8] [0 1 2 3 4 5 6 7 8 9] [0 1 2 3 4 5 6 7 8 9 10] [0 1 2 3 4 5 6 7 8 9 10 11] [0 1 2 3 4 5 6 7 8 9 10 11 12] [0 1 2 3 4 5 6 7 8 9 10 11 12 13] [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14]]"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "nums"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# encode"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "bytes,_ := json.Marshal(nums)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[91 110 117 108 108 44 110 117 108 108 44 110 117 108 108 44 110 117 108 108 44 110 117 108 108 44 91 93 44 91 48 93 44 91 48 44 49 93 44 91 48 44 49 44 50 93 44 91 48 44 49 44 50 44 51 93 44 91 48 44 49 44 50 44 51 44 52 93 44 91 48 44 49 44 50 44 51 44 52 44 53 93 44 91 48 44 49 44 50 44 51 44 52 44 53 44 54 93 44 91 48 44 49 44 50 44 51 44 52 44 53 44 54 44 55 93 44 91 48 44 49 44 50 44 51 44 52 44 53 44 54 44 55 44 56 93 44 91 48 44 49 44 50 44 51 44 52 44 53 44 54 44 55 44 56 44 57 93 44 91 48 44 49 44 50 44 51 44 52 44 53 44 54 44 55 44 56 44 57 44 49 48 93 44 91 48 44 49 44 50 44 51 44 52 44 53 44 54 44 55 44 56 44 57 44 49 48 44 49 49 93 44 91 48 44 49 44 50 44 51 44 52 44 53 44 54 44 55 44 56 44 57 44 49 48 44 49 49 44 49 50 93 44 91 48 44 49 44 50 44 51 44 52 44 53 44 54 44 55 44 56 44 57 44 49 48 44 49 49 44 49 50 44 49 51 93 44 91 48 44 49 44 50 44 51 44 52 44 53 44 54 44 55 44 56 44 57 44 49 48 44 49 49 44 49 50 44 49 51 44 49 52 93 93]"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "bytes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[null,null,null,null,null,[],[0],[0,1],[0,1,2],[0,1,2,3],[0,1,2,3,4],[0,1,2,3,4,5],[0,1,2,3,4,5,6],[0,1,2,3,4,5,6,7],[0,1,2,3,4,5,6,7,8],[0,1,2,3,4,5,6,7,8,9],[0,1,2,3,4,5,6,7,8,9,10],[0,1,2,3,4,5,6,7,8,9,10,11],[0,1,2,3,4,5,6,7,8,9,10,11,12],[0,1,2,3,4,5,6,7,8,9,10,11,12,13],[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]]"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "string(bytes)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# decode"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "var ourNums [][]int\n",
    "json.Unmarshal(bytes, &ourNums)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[[] [] [] [] [] [] [0] [0 1] [0 1 2] [0 1 2 3] [0 1 2 3 4] [0 1 2 3 4 5] [0 1 2 3 4 5 6] [0 1 2 3 4 5 6 7] [0 1 2 3 4 5 6 7 8] [0 1 2 3 4 5 6 7 8 9] [0 1 2 3 4 5 6 7 8 9 10] [0 1 2 3 4 5 6 7 8 9 10 11] [0 1 2 3 4 5 6 7 8 9 10 11 12] [0 1 2 3 4 5 6 7 8 9 10 11 12 13] [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14]]"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ourNums"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Go",
   "language": "go",
   "name": "gophernotes"
  },
  "language_info": {
   "codemirror_mode": "",
   "file_extension": ".go",
   "mimetype": "",
   "name": "go",
   "nbconvert_exporter": "",
   "pygments_lexer": "",
   "version": "go1.15.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
